{ "cells": [ { "cell_type": "markdown", "id": "937022ab-1cd2-4b24-88f1-abd069b38608", "metadata": {}, "source": [ "# Simulating a print\n", "In this first tutorial, we will walk you through how to use Dr.TVAM to simulate a print from a set of patterns.\n", "\n", "
\n", "\n", "🚀 **We will cover the following topics:**\n", " \n", "\n", " \n", "
\n" ] }, { "cell_type": "markdown", "id": "b553dec9-7e83-412f-afb7-546691fe1ba6", "metadata": {}, "source": [ "We start by importing `drtvam` along with other packages:" ] }, { "cell_type": "code", "execution_count": 1, "id": "fe0afe5f-207d-4acc-b99b-8a5b9b5b1a95", "metadata": {}, "outputs": [], "source": [ "import drtvam\n", "import mitsuba as mi\n", "import drjit as dr\n", "import numpy as np\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "markdown", "id": "716d89d3-9e91-44b5-a08c-d0651fbb8a46", "metadata": {}, "source": [ "## 1. Describing the experimental setup\n", "\n", "Dr.TVAM is built on [Mitsuba 3](https://mitsuba.readthedocs.io/en/stable/index.html), and therefore uses a similar paradigm to run light transport simulations. The optical setup is defined as a *scene* which contains information about all the surfaces and the printing medium, as well as the description of the projection setup, and a *sensor* that records absorbed energy in the medium. This scene is then provided by an *integrator* that runs the simulation to write to the sensor the absorbed energy in the sensor. Conforming with computer graphics semantics, we call this operation *rendering*.\n", "\n", "The first step to using Dr.TVAM is therefore to setup this scene. This is done by building a dictionary description, and letting Mitsuba 3 load it.\n", "\n", "This dictionnary needs to describe the following elements:\n", "- **The resin container**. Its role is twofold:\n", " - describe the shape of the container (e.g. a cylindrical vial, with a given radius) and its optical properties\n", " - describe the parameters of the printing medium: extinction coefficient, single-scattering albedo and phase function.\n", "- **The projection system**. This describes how the patterns are projected onto the vial. It has two independent aspects:\n", " - What is the optical projection model ? We support collimated and perspective projections.\n", " - How does the projection moves relative to the container as a function of time?\n", "- **The sensor**. Its location and size determines what we will be measuring. \n", "\n", "We will start with an empty scene. This is specified by adding the 'scene' type tag. We will add the necessary components one by one." ] }, { "cell_type": "code", "execution_count": 2, "id": "03d5cd3e-12f9-4fd7-83e5-981cec2316ad", "metadata": {}, "outputs": [], "source": [ "scene_dict = {'type': 'scene'}" ] }, { "cell_type": "markdown", "id": "6b9405a6-2b69-41bb-9232-909f69d2a731", "metadata": {}, "source": [ "### Container geometry\n", "\n", "Containers are implemented as child classes of the `Container` class. They can be instantiated using a dictionary of parameters, and they implement a `to_dict` method that will generate the necesary representation to fill the scene representation.\n", "\n", "In this scene, we will consider a simple cylindrical vial, without index matching bath, which is implemented by the `CylindricalVial` plugin. We will need to specify its interior and exterior radii, its height and index of refraction.\n", "\n", "The `Container` class also expects a 'medium' dictionary containing the following information:\n", "- index of refraction\n", "- extinction coefficient\n", "- single-scattering albedo\n", "- phase function\n", "\n", "The extinction coefficient measures the total loss of energy along a ray, as measured in a spectrophotometer. The single-scattering albedo is a quantity in $[0,1]$ that quantifies the ratio of the *scattering* coefficient to *extinction*. An albedo of 0.0 corresponds to a purely absorptive medium, and an albedo of 1.0 corresponds to a purely scattering one. Note that the latter doesn't make sense in the context of TVAM, as we record *absorbed* energy in the volume, which would therefore be zero everywhere.\n", "\n", "Scene scale is arbitrary, as long as all physical quantities are consistent with it. Here, we will consider the unit to be the millimeter. Therefore, medium coefficients will be expressed in $\\text{mm}^{-1}$ and vial dimensions in $\\text{mm}$\n", "\n", "The specific keys in the container parameter dictionnary depend on the particular container. Please see the documentation for more details." ] }, { "cell_type": "code", "execution_count": 3, "id": "3b7c7877-c60e-41c9-8ee7-2b966c47849e", "metadata": {}, "outputs": [], "source": [ "vial_params = {\n", " 'r_int': 5., # 10mm interior diameter\n", " 'r_ext': 5.5, # 11mm exterior diameter\n", " 'ior': 1.54, # Index of refraction of the vial\n", " 'medium': {\n", " 'ior': 1.5, # Index of refraction of the resin\n", " 'extinction': 0.1, # Extinction coefficient\n", " 'albedo': 0. # Purely absorptive\n", " }\n", "}\n", "\n", "vial = drtvam.geometry.CylindricalVial(vial_params)" ] }, { "cell_type": "markdown", "id": "a8173d54-b1bd-48d9-a2fb-8ce822be56f6", "metadata": {}, "source": [ "We can then call the `to_dict` method to generate the Mitsuba-compatible description, and concatenate it with the main scene representation:" ] }, { "cell_type": "code", "execution_count": 4, "id": "ef9e6b94-69e7-444f-91f9-f2d1d3a22514", "metadata": {}, "outputs": [], "source": [ "scene_dict |= vial.to_dict()" ] }, { "cell_type": "markdown", "id": "89dd098a-9c63-43e9-a27e-8dc97d6e5985", "metadata": {}, "source": [ "### Projector\n", "\n", "Next, we can setup the projector. This is made up of two components: the projection model (`collimated` or `perspective`), and the motion of the projector in the scene. \n", "\n", "
\n", "\n", "🗒 **Note**\n", "\n", "In the real world, the resin container is most likely mounted on some sort of rotation stage, and the optical system is immobile. However, it is more efficient to implement it the other way around, where the projector moves around an immobile container. This is perfectly equivalent, however one needs to be mindful of this when trying to match a real printing setup. For example, if the vial rotates clockwise in the real world, then the projector needs to rotate *counter*-clockwise in the simulation setup.\n", "\n", "
\n", "\n", "We will use a collimated projector, with a simple rotation around the axis of the vial. We will demonstrate more complicated options in later tutorials.\n", "\n", "Unlike the vial, the projector is directly described in the scene dicsionary. The motion is described in a nested dictionary.\n", "\n", "The projector stores the light patterns. There are several ways to set those, but for the moment we will directly pass a tensor containing some manually crafted patterns as argument. The convention used is that the shape of the tensor is $(n_\\text{patterns}, \\text{height}, \\text{width})$. We will see in the next tutorial how those can be optimized.\n", "\n", "One should also specify the physical pixel size in the printing plane.\n", "\n", "For the motion, we will use a simple circular motion around the axis of the vial, and set the distance to be $20\\text{mm}$ away from the rotation axis." ] }, { "cell_type": "code", "execution_count": 5, "id": "02b0dfb4-f834-4293-958b-cf542f2c14a4", "metadata": {}, "outputs": [], "source": [ "patterns = np.zeros((100, 128, 128)) # 100 angles at 128x128 resolution\n", "patterns[..., 32:-32, 16:48] = 1.0\n", "patterns[..., 32:-32, -48:-16] = 1.0" ] }, { "cell_type": "markdown", "id": "f364b210-c906-4d9e-9e94-94caed58b9af", "metadata": {}, "source": [ "We visualize one of the patterns below:" ] }, { "cell_type": "code", "execution_count": 6, "id": "3fa46973-dc05-41cd-80e5-bc29f7013bdb", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.imshow(patterns[0], cmap='viridis')\n", "plt.colorbar()" ] }, { "cell_type": "code", "execution_count": 7, "id": "afe1a262-e342-4173-836c-9588f017157c", "metadata": {}, "outputs": [], "source": [ "scene_dict['projector'] = {\n", " 'type': 'collimated',\n", " 'patterns' : patterns,\n", " 'pixel_size': 0.1,\n", " 'motion': 'circular',\n", " 'distance': 20.\n", "}" ] }, { "cell_type": "markdown", "id": "5de785c1-0cb1-4105-b642-c969b9a6c010", "metadata": {}, "source": [ "### Sensor\n", "\n", "The sensor measures the absorbed light in the medium. It is essentially a regular 3D grid, whose position in space and resolution can be specified arbitrarily.\n", "There are several sensors available in Dr.TVAM, but we recommend using the `DDA` sensor, as it produces the highest-quality results.The sensor resolution is specified in the `film` nested dictionary, with one entry for the resolution along each axis. The sensor's scale and position in space is specified by the `to_world` field, which specifies a rigid transform [matrix](https://mitsuba.readthedocs.io/en/stable/src/api_reference.html#mitsuba.ScalarTransform4f). By default, the sensor covers the unit cube $[-0.5, 0.5]^3$, and the rigid transform is applied to that cube." ] }, { "cell_type": "code", "execution_count": 8, "id": "7e840100-b61a-4b62-8c84-c78bb6cc42af", "metadata": {}, "outputs": [], "source": [ "scene_dict['sensor'] = {\n", " 'type': 'dda',\n", " 'to_world': mi.ScalarTransform4f().scale(10),\n", " 'film': {\n", " 'type': 'vfilm',\n", " 'resx': 128,\n", " 'resy': 128,\n", " 'resz': 128,\n", " }\n", "}" ] }, { "cell_type": "markdown", "id": "11cd4d6b-e913-404b-8ae2-8c909653d100", "metadata": {}, "source": [ "this concludes the scene description, the result is a dictionary representation that can be understood by Mitsuba:" ] }, { "cell_type": "code", "execution_count": 9, "id": "ccf4f46c-8c6a-482a-a816-c0021e7a5ac6", "metadata": {}, "outputs": [], "source": [ "scene = mi.load_dict(scene_dict)" ] }, { "cell_type": "markdown", "id": "9f82176b-f76d-45f7-9e63-5a35007b3194", "metadata": {}, "source": [ "## 2. Loading the integrator\n", "\n", "The second element of simulating a print is then to load the integrator. This is done again by specifying a dictionary representation. This integrator should be of the `volume` type, and expects some parameters:\n", "- `max_depth`: The integrator simulates *light paths* from the projector to the printing medium. The *depth* of a path denotes the number of scattering events (at surfaces or in the medium) it undergoes. This parameter defines how many scattering events are simulated before ending a path. For a purely absorptive medium, it is often sufficient to set it to 3. Scattering media will require a longer maximum depth to simulate medium scattering events.\n", "- `print_time`: This defines the total exposure time, in seconds.\n", "\n", "A few more advanced parameters are available, please see the documentation for more details." ] }, { "cell_type": "code", "execution_count": 10, "id": "389202bf-c882-49b8-a1de-d32cdae6e662", "metadata": {}, "outputs": [], "source": [ "integrator = mi.load_dict({\n", " 'type': 'volume',\n", " 'max_depth': 3,\n", " 'print_time': 10 # 10s print\n", "})" ] }, { "cell_type": "markdown", "id": "6591bb8f-1b5e-4a16-b4b1-04e5392170d0", "metadata": {}, "source": [ "## 3. Rendering\n", "\n", "We are now ready to simulate the print. We do so by calling Mitsuba's `render` operation. It can take several arguments:\n", "- `scene`: the scene description we have created above.\n", "- `integrator`: the integrator used to run the simulation.\n", "- `spp`: **S**amples **P**er **P**ixel. This parameter determines how many paths are generated per projector pixel.\n", "- `seed`: determines the seed that will be used by the random number generator when random events occur, e.g. medium scattering.\n", "\n", "The result is a 3D sensor that contains the simulated absorption in the sensor." ] }, { "cell_type": "code", "execution_count": 11, "id": "d4de9a7a-f86b-4187-b2de-552be20e7a0f", "metadata": {}, "outputs": [], "source": [ "result = mi.render(scene, integrator=integrator, spp=64, seed=0)" ] }, { "cell_type": "markdown", "id": "ceb3dd89-4259-44ac-913d-33913aa7c0ce", "metadata": {}, "source": [ "## 4. Visualizing the results\n", "We can now visualize slices of the result, using matplotlib. In particular, we can choose a threshold to simulate how the print would turn out after polymerization." ] }, { "cell_type": "code", "execution_count": 12, "id": "08674c50-4c02-4c28-8a37-90f355c0ed8d", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(-0.5, 127.5, 127.5, -0.5)" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig = plt.figure(1, figsize=(11, 5))\n", "gs = fig.add_gridspec(1, 2, wspace=0.2)\n", "\n", "ax = fig.add_subplot(gs[0])\n", "im = ax.imshow(result[64], interpolation='none', cmap='turbo')\n", "ax.set_title(\"Recorded absorption\")\n", "cbax = ax.inset_axes([1.02, 0, 0.04, 1], transform=ax.transAxes)\n", "fig.colorbar(im, cax=cbax)\n", "ax.axis('off')\n", "\n", "ax = fig.add_subplot(gs[1])\n", "ax.imshow(result[64] > 25, interpolation='none', cmap='turbo')\n", "ax.set_title(\"Thresholded print\")\n", "ax.axis('off')" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.12" } }, "nbformat": 4, "nbformat_minor": 5 }